package com.sys.users.service;

import java.util.Map;

import com.sys.common.pojo.ApiResponse;
import com.sys.common.util.PageInfoUtil;
import com.sys.users.pojo.Customer;
import com.sys.users.pojo.ScenicSpot;
import com.sys.users.pojo.ScenicSpotAdmin;
import com.sys.users.pojo.SuperSsa;

/**
 * 用户的service
 *
 * @author 梦缠绵
 */
public interface IUsersDbService
{
    /* == 客户操作开始 == */
    /**
     * 保存一条客户
     *
     * @param customer
     * @return {
     * // 响应码
     * "code":"0",
     * // 响应信息
     * "info":"",
     * // 数据
     * "data":
     * {
     * // 影响条数;sql执行以后对数据库的影响条数
     * "effect":"",
     * // id,保存的时候要主键
     * "id":""
     * }
     * }
     */
    ApiResponse<Object> saveOneCustomerService(Customer customer);

    /**
     * 更新一条客户
     *
     * @param customer
     * @return
     */
    ApiResponse<Object> updateOneCustomerService(Customer customer);

    /**
     * 删除一条客户
     *
     * @param condMap
     * @return
     */
    ApiResponse<Object> deleteOneCustomerService(Map<String, Object> condMap);

    /**
     * 查询一条客户
     *
     * @param condMap
     * @return
     */
    ApiResponse<Customer> findOneCustomerService(Map<String, Object> condMap);

    /**
     * 查询多条客户
     *
     * @param condMap
     * @return
     */
    ApiResponse<Customer> findCondListCustomerService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /* == 客户操作结束 == */
    
    /* == 管理员操作开始 == */
    /**
     * 保存一条管理员
     *
     * @param superSsa
     * @return {
     * // 响应码
     * "code":"0",
     * // 响应信息
     * "info":"",
     * // 数据
     * "data":
     * {
     * // 影响条数;sql执行以后对数据库的影响条数
     * "effect":"",
     * // id,保存的时候要主键
     * "id":""
     * }
     * }
     */
    ApiResponse<Object> saveOneSuperSsaService(SuperSsa superSsa);

    /**
     * 更新一条管理员
     *
     * @param superSsa
     * @return
     */
    ApiResponse<Object> updateOneSuperSsaService(SuperSsa superSsa);

    /**
     * 删除一条管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<Object> deleteOneSuperSsaService(Map<String, Object> condMap);

    /**
     * 查询一条管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<SuperSsa> findOneSuperSsaService(Map<String, Object> condMap);

    /**
     * 查询多条管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<SuperSsa> findCondListSuperSsaService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /* == 管理员操作结束 == */
    
    /* == 景点管理员操作开始 == */
    /**
     * 保存一条景点管理员
     *
     * @param scenicSpotAdmin
     * @return {
     * // 响应码
     * "code":"0",
     * // 响应信息
     * "info":"",
     * // 数据
     * "data":
     * {
     * // 影响条数;sql执行以后对数据库的影响条数
     * "effect":"",
     * // id,保存的时候要主键
     * "id":""
     * }
     * }
     */
    ApiResponse<Object> saveOneScenicSpotAdminService(ScenicSpotAdmin scenicSpotAdmin);

    /**
     * 更新一条景点管理员
     *
     * @param scenicSpotAdmin
     * @return
     */
    ApiResponse<Object> updateOneScenicSpotAdminService(ScenicSpotAdmin scenicSpotAdmin);

    /**
     * 删除一条景点管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<Object> deleteOneScenicSpotAdminService(Map<String, Object> condMap);

    /**
     * 查询一条景点管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<ScenicSpotAdmin> findOneScenicSpotAdminService(Map<String, Object> condMap);

    /**
     * 查询多条景点管理员
     *
     * @param condMap
     * @return
     */
    ApiResponse<ScenicSpotAdmin> findCondListScenicSpotAdminService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /* == 景点管理员操作结束 == */
    
    /* == 景点操作开始 == */
    /**
     * 保存一条景点
     *
     * @param scenicspot
     * @return {
     * // 响应码
     * "code":"0",
     * // 响应信息
     * "info":"",
     * // 数据
     * "data":
     * {
     * // 影响条数;sql执行以后对数据库的影响条数
     * "effect":"",
     * // id,保存的时候要主键
     * "id":""
     * }
     * }
     */
    ApiResponse<Object> saveOneScenicSpotService(ScenicSpot scenicspot);

    /**
     * 更新一条景点
     *
     * @param scenicspot
     * @return
     */
    ApiResponse<Object> updateOneScenicSpotService(ScenicSpot scenicspot);

    /**
     * 删除一条景点
     *
     * @param condMap
     * @return
     */
    ApiResponse<Object> deleteOneScenicSpotService(Map<String, Object> condMap);

    /**
     * 查询一条景点
     *
     * @param condMap
     * @return
     */
    ApiResponse<ScenicSpot> findOneScenicSpotService(Map<String, Object> condMap);

    /**
     * 查询多条景点
     *
     * @param condMap
     * @return
     */
    ApiResponse<ScenicSpot> findCondListScenicSpotService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
    /* == 景点操作结束 == */
}
